﻿//-----------------------------------------------------------------------
// <copyright file="TargetSiteEntity.cs" company="CodePlex">
//     Copyright (c) Doug Holland, CodePlex. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
namespace CodePlex.Diagnostics.Model
{
    using System;

    using CodePlex.Diagnostics.Contracts;

    public sealed partial class TargetSiteEntity
    {
        #region public TargetSiteEntity()

        /// <summary>
        /// Initializes a new instance of the <see cref="T:TargetSiteEntity"/> class.
        /// </summary>
        public TargetSiteEntity()
        {
        }

        #endregion

        #region public TargetSiteEntity(MethodBase targetSite)

        /// <summary>
        /// Initializes a new instance of the <see cref="T:TargetSiteEntity"/> class.
        /// </summary>
        /// <param name="targetSite">An instance of the <see cref="T:MethodBaseDataContract"/> class to be used to construct an instance of the <see cref="T:TargetSiteEntity"/> class.</param>
        public TargetSiteEntity(MethodBaseDataContract targetSite)
        {
            this.IsAbstract = targetSite.IsAbstract;
            
            this.IsAssembly = targetSite.IsAssembly;
            
            this.IsConstructor = targetSite.IsConstructor;
            
            this.IsFamily = targetSite.IsFamily;
            
            this.IsFamilyAndAssembly = targetSite.IsFamilyAndAssembly;
            
            this.IsFamilyOrAssembly = targetSite.IsFamilyOrAssembly;
            
            this.IsFinal = targetSite.IsFinal;
            
            this.IsHideBySignature = targetSite.IsHideBySignature;
            
            this.IsPrivate = targetSite.IsPrivate;
            
            this.IsPublic = targetSite.IsPublic;
            
            this.IsSpecialName = targetSite.IsSpecialName;
            
            this.IsStatic = targetSite.IsStatic;
            
            this.IsVirtual = targetSite.IsVirtual;
        }

        #endregion
    }
}
